home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
32
/
jots.zip
/
MAKELIST.BAS
< prev
next >
Wrap
BASIC Source File
|
1989-03-13
|
2KB
|
74 lines
DEFINT A-Z
CLS
PRINT "Making JWORDS.JOT"
INPUT "Name of input file: ", Infile$
OPEN Infile$ FOR INPUT AS 1
WordCount = 0
DO UNTIL EOF(1)
LINE INPUT #1, InWord$
InWord$ = UCASE$(LTRIM$(RTRIM$(InWord$)))
IF LEN(InWord$) = 5 THEN
WordCount = WordCount + 1
END IF
LOOP
CLOSE
PRINT "Reading"; WordCount; "words from "; Infile$
PRINT
DIM WordList$(WordCount + 40)
OPEN Infile$ FOR INPUT AS 1
Wcount = 0
DO UNTIL EOF(1)
LINE INPUT #1, InWord$
InWord$ = UCASE$(LTRIM$(RTRIM$(InWord$)))
IF LEN(InWord$) = 5 THEN
Wcount = Wcount + 1
WordList$(Wcount) = InWord$
END IF
LOOP
CLOSE
PRINT "Sorting and saving new word list ";
Count = WordCount
FirstWordPtr = 1
FOR Lp = 2 TO Count
IF WordList$(Lp) < WordList$(FirstWordPtr) THEN
FirstWordPtr = Lp
END IF
NEXT Lp
IF FirstWordPtr <> 1 THEN
SWAP WordList$(1), WordList$(FirstWordPtr)
END IF
FOR Lp = 2 TO Count
Ptr = Lp
DO WHILE WordList$(Ptr) < WordList$(Ptr - 1)
SWAP WordList$(Ptr), WordList$(Ptr - 1)
Ptr = Ptr - 1
LOOP
IF Lp MOD 100 = 0 THEN PRINT ".";
NEXT Lp
OPEN "JWORDS.JOT" FOR BINARY AS 1
PUT 1, , Count
Ptr = 1
Suffix$ = STRING$(3, " ")
DO WHILE Ptr <= Count
PrefPtr = Ptr
Prefix$ = LEFT$(WordList$(Ptr), 2)
DO WHILE LEFT$(WordList$(PrefPtr + 1), 2) = Prefix$ AND PrefPtr < Ptr + 30
PrefPtr = PrefPtr + 1
LOOP
PrefCount = PrefPtr - Ptr + 1
Prefix$ = CHR$(PrefCount) + Prefix$
PUT 1, , Prefix$
FOR Lp = Ptr TO PrefPtr
LSET Suffix$ = MID$(WordList$(Lp), 3)
PUT 1, , Suffix$
NEXT Lp
Ptr = PrefPtr + 1
LOOP
CLOSE